<?php
require('../kernel/config.php');
require(PATH_ABS. '/admin/login.php');
$a_conf = ABConf::getAll();
$o_db = dbConnect::getInstance();
$o_tpl =  new ABTemplate('admin/index', 'link');
$o_tpl->multi = array('text'=>'', 'href'=>'');
$o_dblink = new ABLink($o_db);
if(ABApi::hasAction('add')){
	$o_val = new ABValidation();
	$o_val->add('href','presence', 'url');
	$o_val->doValidation();
	if($o_val->getErrors() === null){
		if($o_dblink->add()){
			$o_tpl->ok= 'Enlace agregado correctamente';
		}else{
			$o_tpl->error= 'Error al agregar el enlace';
		}
	}else{
		$o_tpl->error= $o_val->getErrors();
	}
}elseif(ABApi::hasAction('delete')){
	$o_tpl->adelete = true;
	$o_tpl->id_link=(int)$_POST['delete'];
}elseif(ABApi::hasAction('erase')){
	if($o_dblink->delete(ABApi::action('erase'))){
		$o_tpl->ok = 'Entrada eliminada correctamente';
	}else
		$o_tpl->error = 'Error al tratar de eliminar la entrada';
}elseif(ABApi::action('edit')) {
		$o_data = $o_dblink->getById(ABApi::action('edit'));
		$o_tpl->text= $o_data->text;
		$o_tpl->href = $o_data->href;
		$o_tpl->edit= $o_data->id_link;
}elseif(ABApi::action('edited')){
	$o_val = new ABValidation();
	$o_val->add('href', 'url:Debe escribir una URL válida', 'max:255');
	$o_val->add('text', 'alphanumeric:Solo debe escribir letras y numeros', 'max:50');
	$o_val->doValidation();
	if($o_val->getErrors() === array()){
		if($o_dblink->edit(ABApi::action('id_link'))){
				$o_tpl->ok ='Enlace editado correctamente';
			}else{
				$o_tpl->error = 'Error al itentar editar enlace';
				$o_tpl->edit = (int)ABApi::action('edited');
			}
	}else{
		$o_tpl->error = $o_val->getErrors();
		$o_tpl->edit = (int)$_POST['edited'];
	}
}

$o_tpl->link = $o_dblink->toindex();
$o_tpl->ptitle='Enlaces';
ABApi::setCommonAdmin($o_tpl);
$o_tpl->parse();
?>
